// components/tuBiao/index.js
Component({
  /**
   * 组件的属性列表
   * @param {color}  文本颜色 默认#666666
   * @param {type} 用于选择器最小粒度 选择年还是选择年月 默认为选择年
   * @param {date} 选择器初始值
   * @param {all} 总支出
   * @param {charts} 显示图表数据
   * @param {title} 显示TOP5列表的标题
   * @param {top5List} 显示TOP5列表
   * @param {xline} 'X'坐标
   * @param {yline} 显示数据
   * @return {confirmDate} 组件返回值 (YYYY 或者 YYYY-MM)样式
   */
  properties: {
    color:{
      type:String,
      value:'#666666'
    },
    type:{
      type:String,
      value:'year'
    },
    all:{
      type:String,
      value:'0'
    },
    date:{
      type:String,
      value:''
    },
    /**
     * 图标显示数据
     * @param {value} 显示数据
     * @param {name} 显示名字
     */
    charts:{
      type:Array,
      value:[],
      observer:function(){
        this.setData({
          updata:false
        })
        wx.nextTick(()=>{
          this.setData({
            updata:true
          })
        })
      }
    },
    title:{
      type:String,
      value:''
    },
    top5List:{
      type:Array,
      value:[],
    },
    xline:{
      type:Array,
      value:[]
    },
    yline:{
      type:Array,
      value:[]
    }
  },
  data:{
    updata:true,
    isShowCharts:true
  },
  lifetimes: {
    attached: function() {
      // 在组件实例进入页面节点树时执行
      const key=this.data.type+'ChartsShow'
      let value = wx.getStorageSync(key)
      value=value===''?true:value
      this.setData({
        isShowCharts:value
      })
    }
  },
  /**
   * 组件的方法列表
   */
  methods: {
    confirmDate(e){
      this.triggerEvent('confirmDate', e.detail)
    },
    clickFn(e){
      this.triggerEvent('clickFn',e.detail)
    },
    showCharts(e){
      const key=e.currentTarget.dataset.type
      let isShowCharts=!this.data.isShowCharts
      this.setData({
        isShowCharts
      })
      wx.setStorageSync(key+'ChartsShow', isShowCharts)
    }
  }
})
